package com.wyh.domain.po.gfive;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.io.Serializable;

/**
 * 开票记录表(Invoicerecordes)实体类
 *
 * @author makejava
 * @since 2024-05-21 17:13:57
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Invoicerecords implements Serializable {
    private static final long serialVersionUID = 700431568338840121L;

    private Integer id;
    /**
     * 开票流水号
     */
    @ApiModelProperty("开票流水号")
    private String serialnumber;
    /**
     * 通知单编号
     */
    @ApiModelProperty("通知单编号")
    private String noticenumber;
    /**
     * 发票类型
     */
    @ApiModelProperty("发票类型")
    private Integer invoicingtype;
    /**
     * 发票代码
     */
    @ApiModelProperty("发票代码")
    private String invoicecode;
    /**
     * 发票号码
     */
    @ApiModelProperty("发票号码")
    private String invoicenumber;
    /**
     * 销售方
     */
    @ApiModelProperty("销售方")
    private String salesside;
    /**
     * 业主
     */
    @ApiModelProperty("业主")
    private Integer owner;
    /**
     * 购买方
     */
    @ApiModelProperty("购买方")
    private Integer buyer;
    /**
     * 开票日期
     */
    @ApiModelProperty("开票日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date invoicingtime;
    /**
     * 开票金额
     */
    @ApiModelProperty("开票金额")
    private Double amount;
    /**
     * 状态
     */
    @ApiModelProperty("状态")
    private Integer state;
    /**
     * 类型，0发票、1收据
     */
    @ApiModelProperty("类型，0发票、1收据")
    private Integer type;


    /**
     * 账单id
     */
    @ApiModelProperty("账单id")
    private Integer billid;

    public Invoicerecords(String serialnumber, String noticenumber, Integer invoicingtype, String invoicecode, String invoicenumber, String salesside, Integer owner, Integer buyer, Date invoicingtime, Double amount, Integer state, Integer type, Integer billid) {
        this.serialnumber = serialnumber;
        this.noticenumber = noticenumber;
        this.invoicingtype = invoicingtype;
        this.invoicecode = invoicecode;
        this.invoicenumber = invoicenumber;
        this.salesside = salesside;
        this.owner = owner;
        this.buyer = buyer;
        this.invoicingtime = invoicingtime;
        this.amount = amount;
        this.state = state;
        this.type = type;
        this.billid = billid;
    }
}

